home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Softdisk Supreme
/
Softdisk Supreme.iso
/
pc
/
DSK Files
/
0-49
/
SD006b.dsk
/
SIR.ISAAC'S.APPLE.bas
< prev
next >
Wrap
BASIC Source File
|
2003-06-12
|
9KB
|
192 lines
0 P = 3072: POKE 6, INT(P/256): POKE 7,203 +(P >9999)
1 X$ = "300:A5 06 A8 38 E9 09 B0 03 4C 00 00 85 08 18 65 B0 C5 74 B0 F4 A6 B0 8E 39 03 8D 3C 03 A6 07 86 67 A6 AF 86 6B 86 6D 84 68 85 B0 85 6A 85 6C 85 6E 38 E5 06 AA E8 A0 00 B9 00 00 99 00 00 C8 D0 F7 N D823G"
2 L = LEN(X$): FOR I = 1 TO L: POKE 511 +I, ASC( MID$ (X$,I,1)) +128: NEXT : POKE 72,0: CALL -144
3 X$ = "340:CE 39 03 CE 3C 03 CA D0 EE A5 68 85 1A A4 67 84 19 A0 01 B1 19 F0 10 18 65 08 91 19 AA 88 B1 19 85 19 86 1A C8 D0 EC 4C 66 D5 N 300G": GOTO 2
10 REM SIR ISAAC'S APPLE (AS)
20 GOTO 1270
30 DIM X(15),Y(15): HOME : IF SCRN( 0,0) = 7 THEN 50
40 GOSUB 920: GOSUB 970: GOTO 60
50 GOSUB 1210
60 POKE 34,20: VTAB 22
70 INPUT "ENTER SKILL LEVEL 1-3 (EASY-HARD):";SKL$:SKL = VAL(SKL$): IF SKL <1 OR SKL >3 THEN 70
80 SKL = SKL +(SKL = 2) +2 *(SKL = 3)
90 HOME : GOTO 140
100 POKE -16300,0: TEXT : HOME : NORMAL : TEXT : END
110 A = INT( PDL(0)/7): COLOR= 15: HLIN A,A +3 AT 39: VLIN 37,38 AT A: VLIN 37,38 AT A +3: RETURN
120 COLOR= 12: HLIN A,A +3 AT 39: VLIN 37,38 AT A: VLIN 37,38 AT A +3: RETURN
130 REM LINE 100 DRAWS BASKET, LINE 200 ERASES IT
140 REM START GAME
150 POKE -16302,0: COLOR= 0
160 FOR Y = 40 TO 47: HLIN 0,39 AT Y: NEXT
170 GOSUB 310: REM PRINT SCORE
180 FOR PAUSE = 1 TO INT(50 * RND(1)) +50: GOSUB 110: CALL 777: GOSUB 120: NEXT : GOTO 570
190 COLOR= 0: FOR M = 41 TO 47: HLIN N,N +14 AT M: NEXT : RETURN : REM ERASE OLD NUMBER
200 HLIN N,N +6 AT 41: RETURN : REM TOP LINE
210 HLIN N,N +6 AT 44: RETURN : REM MID LINE
220 HLIN N,N +6 AT 47: RETURN : REM BOTTOM LINE
230 VLIN 41,47 AT N: RETURN : REM LEFT SIDE
240 VLIN 41,47 AT N +3: RETURN : REM MIDDLE
250 VLIN 41,47 AT N +6: RETURN : REM RIGHT SIDE
260 VLIN 41,44 AT N: RETURN : REM 4,5,9
270 VLIN 45,46 AT N: RETURN : REM 2
280 VLIN 41,44 AT N +6: RETURN : REM 2
290 VLIN 45,46 AT N +6: RETURN : REM 5,6
300 REM PRINT SCORE
310 IF CAUGHT <10 THEN N1 = 0: REM NO 1ST DIGIT
320 IF CAUGHT >9 THEN N1 = 1: REM 1ST DIGIT
330 N = 1: GOSUB 190: COLOR= 3: REM ERASE LAST NUMBER
340 IF NOT N1 THEN 360
350 N = 1: GOSUB 480: GOTO 370
360 N = 1: GOSUB 470
370 REM SECOND DIGIT
380 NUM = CAUGHT: IF NUM >9 THEN NUM = NUM -10
390 N = 9: ON NUM GOSUB 480,490,500,510,520,530,540,550,560: IF NUM = 0 THEN GOSUB 470
400 N1 = 0 *(DROP <10) +(DROP >9)
410 N = 24: GOSUB 190: COLOR= 6
420 IF NOT N1 THEN 440
430 N = 24: GOSUB 480: GOTO 450
440 N = 24: GOSUB 470
450 NUM = DROP:NUM = NUM -10 *(NUM >9):N = 32: ON NUM GOSUB 480,490,500,510,520,530,540,550,560: IF NUM = 0 THEN GOSUB 470
460 RETURN
470 GOSUB 200: GOSUB 220: GOSUB 230: GOSUB 250: RETURN : REM ZERO
480 GOSUB 240: RETURN : REM ONE
490 GOSUB 200: GOSUB 210: GOSUB 220: GOSUB 270: GOSUB 280: RETURN : REM TWO
500 GOSUB 200: GOSUB 210: GOSUB 220: GOSUB 250: RETURN : REM THREE
510 GOSUB 260: GOSUB 210: GOSUB 250: RETURN : REM FOUR
520 GOSUB 200: GOSUB 260: GOSUB 210: GOSUB 290: GOSUB 220: RETURN : REM FIVE
530 GOSUB 200: GOSUB 230: GOSUB 220: GOSUB 290: GOSUB 210: RETURN : REM SIX
540 GOSUB 200: GOSUB 250: RETURN : REM SEVEN
550 GOSUB 200: GOSUB 210: GOSUB 220: GOSUB 230: GOSUB 250: RETURN : REM EIGHT
560 GOSUB 200: GOSUB 210: GOSUB 260: GOSUB 250: RETURN : REM NINE
570 REM DROP APPLES STEP SKL
580 FOR T = 1 TO 15:X = X(T):Y = Y(T)
590 COLOR= 4: VLIN Y,Y +1 AT X
600 S = PEEK( -16336) + PEEK( -16336): REM CLICK SPEAKER
610 FOR Y1 = Y +1 TO 38 STEP SKL:C1 = SCRN( X,Y1):C2 = SCRN( X,Y1 +1)
620 COLOR= 1: VLIN Y1,Y1 +1 AT X: GOSUB 110: CALL 777: COLOR= C1: PLOT X,Y1: COLOR= C2: PLOT X,Y1 +1: GOSUB 120
630 NEXT : IF A +1 = X OR A +2 = X THEN 650
640 GOTO 680: REM SOUND
650 REM
660 CAUGHT = CAUGHT +1: REM GOT IT
670 GOSUB 110: COLOR= 1: VLIN 37,38 AT X: CALL 777: FOR SO = 1 TO 5:S = PEEK( -16336) - PEEK( -16336): NEXT : COLOR= 12: VLIN 37,38 AT X: GOSUB 120
680 DROP = DROP +1: GOSUB 300
690 NEXT
700 POKE -16300,0: REM GO TO PAGE1
710 FOR S = 1 TO 10: CALL -198: NEXT
720 POKE -16300,0: POKE -16301,0: HOME : VTAB 22
730 POKE -16368,0: REM CLR KEYBOARD
740 GOSUB 800: PRINT : REM EVALUATE
750 INPUT "PLAY AGAIN? ";A$
760 HOME
770 A$ = LEFT$(A$,1): IF A$ < >"Y" AND A$ < >"N" THEN 750
780 IF A$ < >"N" THEN RUN 30
790 PRINT : PRINT "THANKS FOR PLAYING!": END
800 REM EVALUATE SCORE
810 PRINT "YOUR SCORE OF ";: INVERSE : PRINT " "CAUGHT" ";: NORMAL : PRINT " IS ";
820 IF CAUGHT = 0 THEN PRINT "RIDICULOUS?!?"
830 IF (CAUGHT) AND CAUGHT <4 THEN PRINT "PRETTY AWFUL!"
840 IF CAUGHT >3 AND CAUGHT <7 THEN PRINT "NOT TOO GOOD..."
850 IF CAUGHT >6 AND CAUGHT <10 THEN PRINT "ABOUT AVERAGE"
860 IF CAUGHT >9 AND CAUGHT <13 THEN PRINT "ABOVE AVERAGE!"
870 IF CAUGHT = 13 OR CAUGHT = 14 THEN PRINT "EXCELLENT!!"
880 IF CAUGHT = 15 AND SKL < >5 THEN PRINT "PERFECT!!!"
890 IF CAUGHT = 15 AND SKL = 5 THEN PRINT "ABSOLUTELY PERFECT!"
900 IF CAUGHT >15 THEN PRINT "STOP SNOOPING AND PLAY THE GAME!"
910 RETURN
920 REM CHECK FOR PADDLES
930 IF PEEK( -16287) <127 OR PEEK( -16286) <127 THEN RETURN
940 PRINT "GAME PADDLES ARE NECESSARY TO PLAY THIS GAME. PLUG THEM IN AND THEN RUN AGAIN."
950 VTAB 5: PRINT " RUN": VTAB 4
960 CALL -198: END
970 TEXT : HOME : INVERSE : LIST 63999 -: NORMAL
980 FOR X = 2 TO 23: VTAB X: PRINT " *******";: HTAB 33: PRINT "*******": NEXT
990 CALL -912
1000 VTAB 24: HTAB 5: PRINT ".......PRESS ";: FLASH : PRINT "RETURN";: NORMAL : PRINT " TO BEGIN.......";
1010 CALL 777: GOSUB 1040
1020 WAIT -16384,128: IF PEEK( -16384) < >141 THEN 1020
1030 CALL 777: POKE -16368,0: POKE -16304,0: POKE -16300,0: POKE -16301,0: POKE -16298,0: RETURN
1040 HOME : COLOR= 7
1050 FOR Y = 0 TO 30: HLIN 0,39 AT Y: NEXT Y
1060 COLOR= 12: FOR Y = 31 TO 39: HLIN 0,39 AT Y: NEXT Y
1070 COLOR= 13:X = 23: FOR Y = 9 TO 29 STEP 4: VLIN Y,Y +5 AT X: PLOT X +1,Y: VLIN Y,Y +5 AT X +3:X = X +1: NEXT Y
1080 COLOR= 9: FOR Y = 29 TO 33: HLIN 34,38 AT Y: NEXT Y: PLOT 34,28: PLOT 38,28
1090 COLOR= 8: FOR X = 17 TO 21: VLIN 16,35 AT X: NEXT X
1100 COLOR= 4: HLIN 10,28 AT 0
1110 HLIN 9,29 AT 1
1120 HLIN 8,30 AT 2
1130 HLIN 8,30 AT 3
1140 FOR Y = 4 TO 9: HLIN 7,31 AT Y: NEXT Y
1150 FOR Y = 10 TO 12: HLIN 8,30 AT Y: NEXT Y
1160 HLIN 9,29 AT 13: HLIN 11,27 AT 14
1170 HLIN 14,24 AT 15
1180 COLOR= 8:X = 14: FOR Y = 11 TO 15 STEP 2: VLIN Y,Y +1 AT X:X = X +1: NEXT Y
1190 VLIN 13,15 AT 19
1200 VLIN 15,16 AT 22
1210 T = 1: COLOR= T
1220 X = INT( RND(1) *27 +10):Y = INT( RND(1) *14): IF SCRN( X,Y) < >4 OR SCRN( X,Y +1) < >4 THEN 1220
1230 VLIN Y,Y +1 AT X:X(T) = X:Y(T) = Y:T = T +1: IF T < >16 THEN 1220
1240 RETURN
1250 REM INITIALIZE
1260 A$ = A$ +"ND823G": FOR I = 1 TO LEN(A$): POKE 511 +I, ASC( MID$ (A$,I,1)) +128: NEXT : POKE 72,0: RETURN
1270 A$ = "0300:00 AD A9 80 2C 63 C0 F0 FB AD 54 C0 A0 00 B9 00 04 99 00 08 B9 00 05 99 00 09 B9 00 06 ": GOSUB 1260: CALL -144
1280 A$ = "031D:99 00 0A B9 00 07 99 00 0B C8 D0 E5 AD 55 C0 60 04 C6 01 D0 02 A9 00 8D 00 03 68 CD 00 ": GOSUB 1260: CALL -144
1290 GOTO 30
50000 REM ********************
50010 REM PAGE SWITCHING
50015 REM ROUTINE
50020 REM BY CHARLIE KELLNER
50030 REM FULLY DOCUMENTED IN
50040 REM VOLUME 5 OF THE
50050 REM APPLE SOFTWARE BANK.
50060 REM ********************
50070 REM
50080 REM WARNING: LINES 0-3 OF
50090 REM THIS PROGRAM MUST NOT
50100 REM BE TAMPERED WITH;THEY
50110 REM RELOCATE THE PROGRAM
50120 REM ABOVE PAGE 2 AND THEN
50130 REM COMMIT SUICIDE ("DEL"
50140 REM THEMSELVES).THE ROU-
50150 REM TINE WAS WRITTEN BY
50160 REM WES HUNTRESS AND IS
50170 REM FOUND ON PAGE 31 OF
50175 REM "CALL -APPLE INDEPTH:
50177 REM ALL ABOUT APPLESOFT."
50180 REM
50190 REM AUTHOR: JIM GANZ
50200 REM 82 SPRING LANE
50210 REM WEST HARTFORD,
50220 REM CONN. 06107
50230 REM
50240 REM THIS PROGRAM IS A
50250 REM NICE WAY TO INTRODUCE
50260 REM YOUNGSTERS TO THE
50270 REM APPLE. YOU MAY BE
50280 REM EMBARRASSED, HOWEVER,
50290 REM WHEN THE "YOUNGSTERS"
50300 REM BEAT YOUR SCORE!
50310 REM
50320 REM ROUTINE TO POKE MACH.
50330 REM LANG. BY S.H. LAM
65535 REM <CTRL-Z>
65535 REM SIR ISAAC'S APPLE <CTRL-Z>
65535 REM --- ------- ----- <CTRL-Z>
65535 REM A LO-RES GAME FOR <CTRL-Z>
65535 REM LITTLE APPLE FOLK <CTRL-Z>
65535 REM <CTRL-Z>
65535 REM REQ: JOYSTICK (OR <CTRL-Z>
65535 REM GAME PADDLES) <CTRL-Z>
65535 REM AND APPLESOFT <CTRL-Z>
65535 REM <CTRL-Z>
65535 REM OBJECT:USE PDL(0) <CTRL-Z>
65535 REM TO CATCH AS MANY <CTRL-Z>
65535 REM FALLING APPLES <CTRL-Z>
65535 REM AS YOU CAN (IT'S <CTRL-Z>
65535 REM "HARVEST" TIME <CTRL-Z>
65535 REM DON'T YA KNOW!) <CTRL-Z>
65535 REM <CTRL-Z>
65535 REM -PUBLIC DOMAIN- <CTRL-Z>
65535 REM OCTOBER, 1980 <CTRL-Z>
65535 REM <CTRL-Z>
65535 REM ** BY JIM GANZ ** <CTRL-Z>
65535 REM <CTRL-Z>